Transmission of data over telephone networks is commonly performed over Voice band modem (VBM) connections. At opposite ends of a VBM connection, modems translate data signals into voice signals and translate voice signals from the telephone network into data signals. The tasks of the modems are generally divided into a plurality of layers. From a top down view, a first layer performs data compression (DC) tasks. In transmission, the DC layer receives data bits and provides compressed data bits. In reception, the DC layer receives compressed data bits and provides uncompressed data bits. The compression is used to conserve bandwidth and is optional. The data compression is performed, for example, in accordance with the V.44 or V.42bis ITU recommendation or the MNP5 standard.
A second layer, referred to as an error correction (EC) layer, performs tasks which are generally divided into two modules, a link access procedure for modem (LAPM) module, and a high level data link control (HDLC) module. In transmission, the tasks of the LAPM module receive a stream of compressed bits (if compression is used), break the stream into frames and add to each frame a type, sequence number and an acknowledgment field. In reception, the LAPM tasks acknowledge the receipt of the frames and send the transmitting modem indications on the amount of unused space in the buffer of the receiving modem.
The tasks of the HDLC module, in transmission, add an error correction field (e.g., CRC) to the transmitted frames and pad the frame with flags (e.g., 0x7E bytes), according to the transmission rate of the modem, such that the number of bits transmitted in each time interval is constant. In reception, the HDLC module removes padding flags and the error correction field and discards frames with an erroneous CRC.
A third layer, referred to as a data pump (DP) layer, performs modulation and demodulation, i.e., converts data bits into voice symbols and vice versa.
Data transmitted on a VBM connection is generally handled in accordance with the DC layer, EC layer and DP layer by the transmitting modem and by the DP layer, EC layer and DC layer by the receiving modem. Thus, the same layers are applied at both end modems of the VBM connection, although the receiving modem substantially reverses the operations of the transmitting modem.
Although most modems perform the tasks of all three layers described above, the term modem covers apparatus which performs DP tasks even if the other tasks are not performed by the apparatus.
VBM connections may be established between client modems, which are connected to a PSTN through twisted pairs, between server modems which are connected directly to the infrastructure of the PSTN, or between a server modem and a client modem. The various connections may be established in accordance with various standards, such as the V.22, V.32, V.34, V.90, V.91 and V.92 ITU recommendations.
Some modems operate as a separate entity coupled to a computer or a computer network. Other modems comprise software which runs on a multi-purpose processor, such as a computer. There also exist reduced-hardware client modems which perform only some of the tasks of the modem. The remaining tasks are performed by a software running on a computer serviced by the modem. This reduces the price of the modem without adding too much load to the computer.
An array of modems, for example employed by an Internet service providers (ISP), is generally referred to as a modem remote access server (RAS). Some modem RAS servers employ processors which each handles a plurality of connections.
In many cases, the data transmitted over the modem connection is handled by the processors communicating over the connection, in accordance with the point to point protocol (PPP). For example, in communicating between a home computer and an ISP server, the home computer performs PPP tasks on data it is to transmit and passes the data to the modem. The modem then performs the DC, EC and DP tasks and transmits the data to a RAS of the ISP. The RAS reverses the DP, EC and DC tasks and passes the signals to the ISP server. The ISP server reverses the PPP tasks and passes the signals for further handling, for example in accordance with the TCP/IP protocol suite. It is noted that, generally, the tasks of the PPP protocol are not handled by the modems. The tasks of the PPP generally include correctness verification and compression.
In order to reduce the load on the telephone network due to VBM connections, an off-loading procedure has been introduced. In the off-loading procedure, a switch close to a calling modem identifies connections directed to ISPs and routes the connections to an adjacent off-loading gateway which terminates the connection (i.e., performs the DP, EC and DC tasks) and transfers the contents of the signals, in packets, to an off-loading interface box of the ISP, over a packet based connection. A leading off-loading proposal suggests that in addition to performing the modem tasks, the off-loading gateway perform a portion of the tasks of the PPP protocol, i.e., the HDLC tasks of the PPP protocol. In addition, an additional protocol, referred to as the L2TP protocol, is used for the transmission between the off-loading gateway and the interface box of the ISP. The L2TP protocol generally checks whether the off-loaded data signals are compressed and, if necessary, compresses the signals. This compression is generally computation intensive and adds to the cost of the off-loading modem. Even if compression is not required, e.g., the signals are already compressed in accordance with the PPP protocol, continuously checking that the signals are compressed is computationally intensive. On the other hand, transmitting the signals without compression is wasteful in bandwidth.